home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 March / EnigmA AMIGA RUN 05 (1996)(G.R. Edizioni)(IT)[!][issue 1996-03][Skylink CD IV].iso / earcd / comm2 / ftp-mail.lha / FTP-Mail / history.doc < prev    next >
Text File  |  1995-11-26  |  14KB  |  380 lines

  1. HISTORY.DOC
  2.  
  3.  
  4.  
  5. Also diesmal in Deutsch... das mute ich niemandem mehr auf Englisch zu. :-)
  6.  
  7. Ein herzliches Dankeschön für die Hilfe geht an: Michael Herold, Gerhard
  8. 'Fido' Schneider (wer mal in die Mailbox schauen will: 0931/7900200 oder ftp
  9. incubus.franken.de) Henning Schroeder, Herbert Oppmann und insbesondere Marc
  10. Stürmer. Marc hat die Übersetzung der Dokumentation vorgenommen, mein
  11. Englisch ist leider nicht das beste. Aber auch alle anderen, die ich hier
  12. vergessen habe und die FTP-MAIL getestet, benutzt oder irgendwelche Fehler
  13. gefunden haben, sei ein Dank ausgesprochen. FTP-MAIL ist auch Werk dieser
  14. Leute.
  15.  
  16.  
  17. Tja, wie ist das komplette Paket entstanden?
  18.  
  19. Ganz einfach: Im den lokalen Brettgruppen von Unterfranken (Ufra-net) wurde
  20. eines Tages der Wunsch geäussert auch Binärbretter einzurichten.
  21.  
  22. Aber schnell wurde festgestellt, daß solche Binärbretter niemals den
  23. Wünschen gerecht werden könnten. Also kam man auf die Idee einen Mailserver
  24. zu schreiben. Das ist leider deswegen nötig, weil das UUCP, das wir benutzen,
  25. keinen Austausch von Files über mehrere Rechner hinweg ermöglicht.
  26.  
  27.  
  28. Also, das ganze Trumm läuft z. Zt. nur auf einem Amiga und nur im
  29. Zusammenhang mit UUCP. Es wird hierbei besonders Gebrauch von der
  30. Alias-Datei und vom SendMail gemacht.
  31.  
  32.  
  33.  
  34. 0.99beta (13-Jul-1994):
  35.  
  36. Also schrieb ich innerhalb einer Woche diesen Mailserver in ARexx zusammen
  37. und testete ihn zunächst bei mir daheim.
  38.  
  39.  
  40. 1.00 (15-Jul-1994):
  41.  
  42. Eigentlich immer noch beta, aber grobe Fehler sollten jetzt draußen sein.
  43. Das Problem, daß ftpsplit mehrmals hintereinander aufgerufen werden kann und
  44. so FTP-MAIL mehrmals gleichzeitig laufen könnte habe ich mit einem öffnen
  45. eines Files in t: als Semaphore entgegengewirkt. Damit sollte FTP-MAIL
  46. eigentlich mit fast jeder Anzahl an Mails fertig werden. Besonders schön ist
  47. der Lock-Mechanismus aber nicht.
  48.  
  49. Es wird nun verhindert, daß ein gleiches HELP mehrmals gesendet wird.
  50.  
  51. Der Abbruchmechanismus wurde stark verbessert. Ich nütze jetzt die
  52. SIGNAL-Befehle von ARexx aus. So schöne Fehlermeldungen bekommt man nichtmal
  53. mit einem Debugger :-). Meist braucht man gar nicht mal mehr die Stelle
  54. suchen, wo der Fehler passiert ist.
  55.  
  56.  
  57. 1.01 (16-Jul-1994)
  58.  
  59. Tja, grobe Fehler habe ich jetzt keine mehr gefunden. Aber ich habe den
  60. Abbruchmechanismus weiter verbessert, so daß der User evtl. auch
  61. automatisch erfährt warum dies und das nicht funktionierte. Auch wird nun
  62. der Postmaster informiert, falls ein Programmfehler auftrat.
  63.  
  64.  
  65. 1.02 (18-Jul-1994)
  66.  
  67. Eine neue Variable wurde eingeführt: maxtransfer. --> ftp-maxtransfer.config
  68.  
  69. Jetzt starte ich FTP-MAIL von ftpsplit als ARexx-Hintergrundprozeß.
  70. Da das ganze eigentlich keine Shell mehr hat wurde es nötig die
  71. Fehlermeldungen nicht mehr über stdout auszugeben.
  72.  
  73. Kleine Schönheitskorrekturen der logfiles: FTP-MAIL gibt nun die Zeilenzahl
  74. der empfangenen Mail aus. Ich überlege, ob man nicht auch die Zeilenzahl
  75. der Mails begrenzen sollte, also daß er nach xxx Zeilen mit dem Einlesen
  76. aufhört.
  77.  
  78. Das Lockfile aus ftpsplit entfernt - wird nicht gebraucht.
  79.  
  80. Sicherheitslücke entfernt. Bei help wird nun ein Umsetzen der Zeichen ":"
  81. und "/" nach "-" gemacht, um zu verhindern, daß man sich aus anderen
  82. Verzeichnissen etwas holt.
  83.  
  84. Ich überlege gerade, ob man die Uebertragungsmodes nicht als externe
  85. Proceduraufrufe deklarieren sollte... also nach dem Motto: CALL MODUS()
  86. hmmmm...
  87.  
  88.  
  89. 1.03 (19-Jul-1994)
  90.  
  91. Ein kleiner Fehler wurde behoben: Die Liste am Ende eines Help-files gab nur
  92. 20 statt 35 Zeichen aus.
  93.  
  94. Zu Testzwecken habe ich jetzt eingebaut, daß FTP-MAIL das Logfile des Users
  95. an das eigentliche Logfile anhängt - das logfile ist zwar ganz gut, aber
  96. besser war halt auch das des Users noch zu sehen, weil schoener.
  97.  
  98. Versionsstring angepaßt. :-)
  99.  
  100.  
  101. 1.04 (21-Jul-1994)
  102.  
  103. Detailverbesserungen: Start- und Endezeiten des Programms werden nun mit
  104. ausgegeben, einige kleine Fehler ausgemerzt.
  105.  
  106. Pfade sollten nun auch relativ angeben werden können. Entsprechende Routine
  107. eingebaut.
  108.  
  109. Userlevel eingeführt. Wie diese allerdings ausgewertet werden sollen ist
  110. noch vollkommen offen...
  111.  
  112. Neue Pfaddateien eingeführt: Upload-Pfade und Userlevel-Pfade.
  113.  
  114. Bemerkung am Rande: Wenn das so weitergeht habe ich bald eine richtige
  115. kleine Mailbox :-)
  116.  
  117. Einen üblen Fehler beim Einlesen der Config-Dateien gefunden. Leere Zeilen
  118. und Kommentarzeilen wurden mit eingelesen.
  119.  
  120.  
  121. 1.05 (27-Jul-1994)
  122.  
  123. FTP-MAIL versteht jetzt auch mehrere Kommandos pro Zeile! Die Kommandos
  124. werden mit "|" getrennt!
  125.  
  126. Einbau der Prüfung der Usersite. Es ist nun möglich den letzten
  127. Received:-Header eines Postings pauschal nach vorkommen von Zeichenketten zu
  128. durchsuchen, die in der ftp-domains-lvl<X>.config stehen (siehe dort!).
  129. Entsprechende postings werden dann in den entsprechenden level gesetzt.
  130. Siehe auch ftp-paths-<X>.config
  131. Das System hat zwar so einige Schlupflöcher, aber es ist relativ sicher!
  132.  
  133. Ich habe auch den Aufrufmechanismus von FTP-MAIL über ftp-split geändert
  134. (schon wieder). Und zwar ist er jetzt in etwa so, wie er war. Es hat
  135. erhebliche Vorteile die Standardausgabe zu benutzen.
  136.  
  137.  
  138. 1.06 (14-Aug-94)
  139.  
  140. Das mit dem Received-Header ist kein gutes Konzept. Ich hab es so umgebaut,
  141. daß jetzt die Empfängeradresse getestet wird.
  142.  
  143. Aus Sicherheitsgründen wird die Originalmail im Logfile nun mit
  144. zurückgeschickt.
  145.  
  146. Die ganzen ".config"-files sind nun in einem eigenem Verzeichnis namens
  147. config. der Pfad wird automatisch ergänzt.
  148.  
  149. Die Filenamenliste im Helpfile wird nun alphabetisch sortiert.
  150.  
  151. Die Liste der Helpfiles wurde optisch stark aufgepeppt. Es wird nun auch das
  152. relative Alter des jeweiligen Helpfiles angezeigt.
  153.  
  154. Die Ausgabe dieser Liste erfolgt pro Mail nur noch maximal ein einziges Mal.
  155.  
  156. Komplette Umstellung: Die Modes sind nun eigene Shell-Scripte (im
  157. config-Verzeichnis befindlich). D.h. man kann nun beliebig viele Modes
  158. entwerfen, ohne das Programm zu ändern.
  159.  
  160. Aus dem Grund wurde auch das Verzeichnis INOUT eingeführt. Dieses ist
  161. ausschließlich ein temporäres Verzeichnis zum Anlegen und Übertragen der
  162. Daten. Weil Files sehr groß werden können ist INOUT ein Unterverzeichnis im
  163. ftp-Verzeichnis, also auf Festplatte.
  164.  
  165. Binärfiles bekommen nun X-Header (X-Name:, X-Path:, usw...), um ein
  166. automatisches Einsortieren zu erleichtern.
  167.  
  168. In ftp-aliases habe ich jetzt einen neuen alias eingebaut: HELPALL. Dieser
  169. schickt alle relevanten Helpfiles. Es ist wirklich faszinierend, wie
  170. FTP-MAIL darauf reagiert und welche Ausgaben es dabei erzeugt.
  171.  
  172.  
  173.  
  174. 1.07 (20-Aug-1994)
  175.  
  176. So, ich habe jetzt so viel daran geändert, daß ich gar nicht mehr weiß,
  177. was ich alles gemacht hab :).
  178.  
  179. Wichtgste Neuigkeit: Das PUT-Kommando geht jetzt! Naja, da sind sicher noch
  180. ein paar Fehler drin. :)
  181.  
  182. Die Handhabung des <">-Zeichens bzgl. Shell-Scripts wurde jetzt eingebaut
  183. und sollte ordentlich funktionieren.
  184.  
  185. Die Ausgabe der Original-Mail wurde verbessert und an das PUT-Kommando
  186. angepaßt.
  187.  
  188. Fehlerhafte Mails werden nun zwar weiterhin im tmp-Verzeichnis belassen,
  189. aber umbenannt.
  190.  
  191. Das GET-Kommando versteht nun auch absolute Pfadangaben! Ein CD vor GET ist
  192. damit überflüssig. Diese Art von Kommandos wird in zwei Commandos (CD und
  193. GET) aufgesplittet.
  194.  
  195. Die Ausgabe des LIST-Befehls wurde verbessert.
  196.  
  197. Und weiterhin sind zahlreiche Fehler gefunden und verbessert worden.
  198.  
  199. Der in der Anleitung beschriebene Kommando-Trenner "," (Komma) wurde
  200. durch ";" (Strichpunkt) ersetzt.
  201.  
  202. Falls kein Kommando gesendet wird, wird automatisch auf HELPALL hingewiesen.
  203.  
  204.  
  205.  
  206. 1.08
  207.  
  208. Die Shell-Befehle werden nun über ein Unterprogramm aufgerufen. Ist schöner.
  209.  
  210. In die Shell-Scripte wurde nun eingebaut, daß sie nicht bei Fehlern
  211. abbrechen. Anders scheint's nicht möglich zu sein, also Fehlerabfrage ist
  212. null. Verstehe ich nicht ganz :( Vielleicht sollte ich evtl. sogar
  213. ARexx-Scripte daraus machen, das wäre dann wenigstens sicher.
  214.  
  215. Das PUT-Kommando arbeitet dementsprechend besser bzw. sicherer.
  216.  
  217. Es gibt nun zwei neue Befehle: NOLOGFILE und NOFILEHELP. Ersteres
  218. unterbindet das Senden des Logfiles (außer im Fehlerfall von FTP-MAIL),
  219. zweiteres schickt nicht mehr die Liste der verfügbaren Helpfiles in einem
  220. Helpfile mit.
  221.  
  222. LIST, LS und DIR verstehen nun ebenfalls einen vollen Pfad als Argument.
  223.  
  224. Der ";" als Kommando-Trenner wurde nun ebenfalls abgeschafft. Es gilt jetzt
  225. nur noch "|" (ASCII 124). Alles andere erscheint mir zu häufig z.B. im
  226. Header oder sogar in Dateinamen. "|" kommt zwar auch manchmal vor, ist aber
  227. schon wirklich selten.
  228.  
  229. Der MODES-Befehl schickt nun nicht nur die ftp-modes.config, sondern auch
  230. die entsprechenden Scripte dazu.
  231.  
  232. Die X-Header im PUT-Kommando wurden angepaßt, so daß statt X-UPLOAD-PATH:
  233. nur noch X-PATH: angegeben werden muß (Alias ist gesetzt).
  234.  
  235. Auflisten der Aliases im Logfile wurde verbessert.
  236.  
  237. Auflisten der Original-Zeile im Logfile wurde verbessert.
  238.  
  239. Einbau von time.LOG. Es wird nun protokoliert, wieviele Bytes an wen
  240. gesendet bzw. von wem empfangen wurden.
  241.  
  242. Einen Fehler im Zusammenhang mit dem config-Verzeichnis und dem Time-LOG
  243. ausgebügelt.
  244.  
  245. Da war noch ein Fehler, falls beim Aufrufen von externen Programmen Fehler
  246. auftreten. Jetzt sollte FTP-MAIL in jeder denkbaren Fehlersituation
  247. wenigstens eine Fehlermeldung verschicken können.
  248.  
  249. Die Userlevel werden nun vollständig durchsucht, auch wenn ein
  250. entsprechender Teilstring bereits gefunden wurde. Es wurde auch ein "*"
  251. (Joker) eingeführt. Das witzige war, daß ich gedacht habe, das würde den
  252. ganzen Nachmittag dauern. Dabei mußte ich nur drei Zeilen ändern. :)
  253. Es ist nun also möglich die Domains bzw. Sites und die dazugehörigen
  254. Userlevel immer weiter zu spezifizieren.
  255.  
  256. Eingehende Mails werden jetzt auch nach Datum überprüft. Falls dieses nicht
  257. gesetzt wurde bekommt der ftp-postmaster eine Mail. (Ich weiß, eigentlich
  258. kann es gar nicht sein, daß eine Mail ohne Datum verschickt wird, aber es
  259. sind nur 4 Zeilen Code.
  260.  
  261. Der Postmaster wurde umgetauft in FTP-POSTMASTER, rein aus
  262. abgrenzugstechnischen Gründen. Man kann diesen User ja per Alias-File wieder
  263. in postmaster umtaufen.
  264.  
  265. Beim GET-Kommando werden nun in einem X-Header in Kurzform alle wichtigen
  266. Daten von welcher Mail dieses GET-Kommando ausging wiederholt. Mir ging
  267. nämlich auf, daß man mit FTP-MAIL und dem NOLOGFILE-Kommando ganz wunderbare
  268. anonyme Flames erstellen kann! :-) :-(
  269.  
  270. Ein END-Kommando wurde eingeführt: Es arbeitet so ähnlich wie PUT, der Rest
  271. der Mail wird nämlich einfach überlesen.
  272.  
  273. Die Helpfile-Extensionen wurden nun um ".dok" erweitert.
  274.  
  275. Es gibt jetzt ein deutsches Helpfile zu FTP-MAIL.
  276.  
  277. Fehler entfernt: Der verwendete LS-Befehl enthält wohl einen üblen Fehler
  278. beim Parsen und Ausgeben des Kommandos. Dieser wurde jetzt durch List
  279. ersetzt, so gut das geht.
  280.  
  281.  
  282.  
  283. 1.09, 11.10.95:
  284.  
  285. Ja, ich habe lange nichts mehr daran gemacht und diese Änderungen entstanden
  286. nur aufgrund eines Threads in ufra.flame. Ein User hat sich über das
  287. Verhalten von ftp-mail aufgeregt, nämlich ein GET <absoluter Pfad> in zwei
  288. Commandos zu zerlegen. Er hat dadurch eine ganze Reihe von Files doppelt 
  289. erhalten (wenn man aber auch keine Anleitung liest, nicht wahr?). Daraufhin
  290. bot mir jemand einen Bigmäc mit Milchshake an, damit ich das Verhalten
  291. verbessere.
  292.  
  293. Neue Kommandos sind dazugekommen: LISTALL, DIRALL, LSALL. Listen alle
  294. Unterverzeichnisse mit auf.
  295.  
  296. Neues Kommando SHOWDIRS.
  297.  
  298. Alle rekursiven List-Kommandos erzeugen keine Liste bei festen Pfaden in
  299. PATHS (nur wenn * vorhanden).
  300.  
  301. LIST usw. zeigt nun auch Verzeichnisse in einem Verzeichnis, nicht nur die
  302. Dateien.
  303.  
  304. GET sendet nun keine Dateien doppelt. Gleicher Mechanismus wie bei den
  305. Helpfiles. Funktioniert zuverlässig.
  306.  
  307. FTP-MAIL erkennt nun auch Pfade in ftp-paths.config, die die Form
  308. Blubb:blah/* oder Blubb:* haben. Der Stern bezeichnet hier das Jokerzeichen,
  309. also alle darunterliegenden Pfade sind ebenfalls erlaubt. Das erlaubt eine
  310. viel einfachere Erstellung der Pfadlisten.
  311.  
  312. Im Logfile werden die Kommentare nicht mehr gequotet.
  313.  
  314. Diverse Rechtschreibfehler entfernt (jaja, mein Englisch, ich weiß :-)...
  315.  
  316. Logfile wird nun auch an den ftp-postmaster gesendet.
  317.  
  318. Neue Routine zum einscannen des Absenders, bzw. Reply-To. Leider nötig, weil
  319. wusel-sendmail Probleme bekommt mit Adresse der Form
  320.  <user@domain> "Hans (der Henker) Hugo"
  321.  
  322.  
  323. 2.0, 17.10.95
  324.  
  325. Ich habe mich entschlossen, FTP-MAIL zu veröffentlichen, weil das ganze ist
  326. inzwischen eigentlich sehr zuverlässig und zweckmäßig. Aus dem Grunde
  327. verbrachte ich den heutigen Nachmittag mit dem Kommentieren der Source.
  328. Einige Textausgaben wurden etwas überarbeitet. Etwas Kosmetik bekam auch die
  329. TIME.log.
  330.  
  331. Ein paar winzige Fehler wurden ebenfalls behoben. Darunter waren aber keine
  332. mehr, die die Sicherheit beeinträchtigt hätten.
  333.  
  334. Aus der Routine zum einscannen der E-Mail-Adresse wurden die Teile entfernt,
  335. die die Adresse in ein bestimmtes Format umsetzen.
  336.  
  337. Die Sachen in der TODO-Liste sind alle nicht besonders wichtig - höchstens
  338. das automatische Splitten, aber dazu habe ich ja StripMail.rexx geschrieben...
  339.  
  340. Ich schrieb ebenfalls eine kurze Anleitung in die Installationsanleitung,
  341. was der ftp-postmaster im Fehlerfall zu tun hat.
  342.  
  343.  
  344.  
  345. 2.1 22.11.95
  346.  
  347. In Help eingebaut, daß keine Files angezeigt werden, die mit einem Punkt
  348. beginnen.
  349.  
  350. Nachdem nun auch die Anleitungen nochmals überarbeitet worden sind -
  351. insbesondere die englischen - werde ich diese Version veröffentlichen.
  352.  
  353.  
  354. ----------------------------------------------------------------------------
  355.  
  356.  
  357.  
  358. TODO:
  359.  
  360.  
  361. Eine Konfigdatei, in der wichtige Einzeldinge (wie etwa maxtransfer)
  362.        eingestellt werden können.
  363. Eine maximale Maillänge, ab der automatisch gesplittet wird.
  364. Ein Programm um ankommende Files automatisch auseinanderzuklamüsern, zu
  365.        beschriften und einzusortieren.
  366.  
  367.  
  368. User-Logfile
  369. User <-> erhaltene Datenmengen - Time.log ist noch nicht besonders toll...
  370. Pflegenanleitung (postmaster.doc), Fehlerfallbehandlung
  371. Uploadpath ebenfalls mit Userlevel verbunden
  372. Entsprechende Überarbeitung des Sendens von ftp-paths.config und
  373.        ftp-upload-paths.config
  374. ftpsplit überarbeiten im Bezug auf das schreiben des Files (überlange
  375.        Zeilen) und starten von FTP-MAIL (einfach abschaltbar)
  376. GET-Mail so anpassen, daß diese ohne Probleme von PUT-Kommando übernommen
  377.        werden kann.
  378.  
  379.  
  380.